package com.cwl.po.judge;

/**
 * @program: cwl-performance-optimization
 * @description: 测试If和If-Else的性能
 * @author: ChenWenLong
 * @create: 2019-11-27 10:34
 **/
public class TestIfElse {

    // 当我们是两种情况进行判断 使用多个If 会比使用If-else要更多消耗一些性能
    public static void main(String[] args) {
        System.out.println(testIf());// 190ms
        System.out.println(testIfElse());// 112ms
    }

    /**
     * 功能描述:
     * 〈测试If-Else〉
     *
     * @params : []
     * @return : long
     * @author : cwl
     * @date : 2019/11/27 10:35
     */
    private static long testIf() {
        long begin = System.currentTimeMillis();
        int a = 0;
        int b = 0;
        for(int i=0;i<100000000;i++){
            if(i % 2 == 0){
                a+=i;
            }
            if(i % 2 == 1){
                b+=i;
            }
        }
        System.out.println(a+b);
        long end = System.currentTimeMillis();
        return end - begin;
    }

    /**
     * 功能描述:
     * 〈测试单纯的使用IF〉
     *
     * @params : []
     * @return : long
     * @author : cwl
     * @date : 2019/11/27 10:34
     */
    private static long testIfElse() {
        long begin = System.currentTimeMillis();
        int a = 0;
        int b = 0;
        for(int i=0;i<100000000;i++){
            if(i % 2 == 0){
                a+=i;
            }else{
                b+=i;
            }
        }
        System.out.println(a+b);
        long end = System.currentTimeMillis();
        return end - begin;
    }


}
